অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) একটি মেসেজ ব্রোকার, যা মেসেজিং সিস্টেমের মধ্যে নিরাপত্তা নিশ্চিত করার জন্য Authentication এবং Authorization কনফিগারেশন সাপোর্ট করে। এই দুটি প্রক্রিয়া নিশ্চিত করে যে, শুধুমাত্র বৈধ ব্যবহারকারীরা মেসেজিং সিস্টেমে প্রবেশ করতে এবং মেসেজ প্রেরণ বা গ্রহণ করতে পারে।
অ্যাপাচি অ্যাকটিভএমকিউ তে Authentication এবং Authorization কনফিগার করতে JAAS (Java Authentication and Authorization Service) এবং accessControl.xml ফাইল ব্যবহৃত হয়। নিচে এই কনফিগারেশন প্রক্রিয়া বর্ণনা করা হলো।
অ্যাপাচি অ্যাকটিভএমকিউ তে Authentication কনফিগার করতে JAAS (Java Authentication and Authorization Service) ব্যবহৃত হয়। JAAS ক্লায়েন্টকে ব্রোকারে লগইন করার অনুমতি দেয়, এবং ইউজারের পরিচিতি যাচাই করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করতে পারে।
প্রথমে conf
ফোল্ডারে একটি jaas.conf ফাইল তৈরি করুন, যেখানে আপনি লগইন মডিউল কনফিগার করবেন।
jaas.conf ফাইলের উদাহরণ:
ActiveMQ {
org.apache.activemq.jaas.PropertiesLoginModule required
userProperties="conf/users.properties"
groupProperties="conf/groups.properties";
};
এখানে, users.properties
এবং groups.properties
ফাইল দুটি ব্যবহারকারী এবং তাদের গ্রুপের তথ্য সংরক্ষণ করবে।
এটি ব্যবহারকারীদের ইউজারনেম এবং পাসওয়ার্ড সংরক্ষণ করবে।
users.properties ফাইলের উদাহরণ:
admin=adminpassword
user=userpassword
এটি ব্যবহারকারীদের গ্রুপ সংক্রান্ত তথ্য সংরক্ষণ করবে।
groups.properties ফাইলের উদাহরণ:
admin=adminGroup
user=userGroup
এখন, activemq.xml
কনফিগারেশন ফাইলের মধ্যে JAAS কনফিগারেশন লোড করতে হবে:
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost"
dataDirectory="data">
<securityContext>
<jaasLoginModule configuration="jaas.conf"/>
</securityContext>
</broker>
এই কনফিগারেশন ফাইলটি ActiveMQ সার্ভারকে JAAS কনফিগারেশন লোড করার জন্য বলে, যাতে ইউজারনেম এবং পাসওয়ার্ড যাচাই করা যায়।
অ্যাপাচি অ্যাকটিভএমকিউ তে Authorization কনফিগার করার জন্য accessControl.xml
ফাইল ব্যবহার করা হয়। এই ফাইলটি নির্ধারণ করে যে, কোন ইউজার বা গ্রুপ কোন মেসেজ ডেস্টিনেশন (Queue, Topic) অ্যাক্সেস করতে পারবে এবং তাদের কি ধরনের কার্যক্রম করার অনুমতি থাকবে (যেমন মেসেজ পাঠানো বা গ্রহণ করা)।
conf
ফোল্ডারে accessControl.xml ফাইল তৈরি করুন এবং ব্যবহারকারীদের পারমিশন কনফিগার করুন।
accessControl.xml ফাইলের উদাহরণ:
<broker xmlns="http://activemq.apache.org/schema/core">
<authorizationPlugin>
<simpleAuthorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" read="admin, user" write="admin" admin="admin"/>
<authorizationEntry topic=">" read="admin, user" write="admin" admin="admin"/>
</authorizationEntries>
</simpleAuthorizationMap>
</authorizationPlugin>
</broker>
এই কনফিগারেশনে:
queue=">"
: এখানে >
চিহ্নটি প্রতিটি কিউকে নির্দেশ করে।read="admin, user"
: এখানে admin
এবং user
গ্রুপের সদস্যদের কিউ বা টপিক থেকে মেসেজ পড়ার অনুমতি দেওয়া হয়েছে।write="admin"
: শুধুমাত্র admin
গ্রুপের সদস্যদের মেসেজ লেখার (প্রেরণ) অনুমতি দেওয়া হয়েছে।admin="admin"
: admin
গ্রুপের সদস্যদের কিউ বা টপিকের জন্য পূর্ণ প্রশাসনিক অনুমতি দেওয়া হয়েছে।অ্যাপাচি অ্যাকটিভএমকিউ তে SSL/TLS কনফিগারেশনও করা যেতে পারে, যাতে মেসেজিং সিস্টেমের মধ্যে নিরাপদ যোগাযোগ নিশ্চিত করা যায়। এই কনফিগারেশন মেসেজ ট্রান্সফারের সময় এনক্রিপশন এবং অথেন্টিকেশন প্রদান করে।
SSL/TLS কনফিগারেশন উদাহরণ:
<transportConnectors>
<transportConnector name="ssl" uri="ssl://0.0.0.0:61617?keyStore=conf/keystore.jks&keyStorePassword=password&trustStore=conf/truststore.jks&trustStorePassword=password"/>
</transportConnectors>
এখানে:
keyStore
: এটি SSL সার্টিফিকেটের কীগুলি ধারণ করে।trustStore
: এটি সার্ভারের দ্বারা প্রমাণীকৃত সার্টিফিকেট ধারণ করে।keyStorePassword
এবং trustStorePassword
: এসএসএল কীগুলির জন্য পাসওয়ার্ড।অ্যাপাচি অ্যাকটিভএমকিউ তে Authentication এবং Authorization কনফিগারেশন ব্যবহার করে আপনি মেসেজিং সিস্টেমে নিরাপত্তা নিশ্চিত করতে পারেন। JAAS (Java Authentication and Authorization Service) ব্যবহার করে ইউজার অথেন্টিকেশন করা হয় এবং accessControl.xml ফাইল ব্যবহার করে ইউজার এবং গ্রুপদের পারমিশন কনফিগার করা হয়। এছাড়া SSL/TLS কনফিগারেশন নিরাপদ মেসেজ ট্রান্সফার নিশ্চিত করতে সাহায্য করে।
common.read_more